Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

json-schema-diff

Package Overview
Dependencies
Maintainers
3
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-schema-diff

A language agnostic CLI tool and nodejs api to identify differences between two json schema files.

  • 0.8.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
88K
decreased by-16.8%
Maintainers
3
Weekly downloads
 
Created
Source

Json Schema Diff

A language agnostic CLI tool and nodejs api to identify differences between two json schema files.

Requirements

  • nodejs 6.x or higher (tested using 6.x, 8.x and 9.x)
  • npm 2.x or higher (tested using 2.x, 3.x and 5x)

Installation

Install the tool using npm and add it to the package.json

npm install json-schema-diff --save-dev

Usage

This tool identifies differences between two json schema files. KEYWORDS.md contains the details of what json schema keywords are supported. Differences are classified into two broad groups, added and removed.

Added differences are areas where the destination schema has become more permissive relative to the source schema. For example {"type": "string"} -> {"type": ["string", "number"]}.

Removed differences are areas where the destination schema has become more restrictive relative to the source schema. For example {"type": ["string", "number"]} -> {"type": "string"}.

Usage as a cli tool

Invoke the tool with a file path to the source schema file and the destination schema file. These files should be in JSON format and be valid according to the json schema draft-07 specification.

json-schema-diff /path/to/source-spec.json /path/to/destination-spec.json

The command will return a collection of any differences found in a human readable format.

The tool will fail if any removed differences are detected.

Usage as a nodejs api

Invoke the library with the source schema and the destination schema. These objects should be simple javascript objects and we valid according to the json schema draft-07 specification.

const jsonSchemaDiff = require('json-schema-diff');

const source = {type: 'string'};
const destination = {type: ['string', 'number']};

const result = await jsonSchemaDiff.diffSchemas({
    sourceSchema: source, 
    destinationSchema: destination
});

if (result.removedByDestinationSchema) {
    console.log('Something was removed!');
}

if (result.addedByDestinationSchema) {
    console.log('Something was added!');
}

For full details of the nodejs api please refer to api-types.d.ts

Changelog

See CHANGELOG.md

Contributing

See CONTRIBUTING.md

License

See LICENSE.txt

Keywords

FAQs

Package last updated on 02 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc